Migrate packaging to pyproject.toml and uv#10
Merged
Merged
Conversation
- Replace setup.py with pyproject.toml using setuptools - Update CI workflows to install, test, build, and publish via uv - Remove requirements.txt and add uv.lock for reproducible deps Local development and CI now use uv for dependency management and package builds. PyPI publishing uses `uv build` and `uv publish`.
- Silence XMLParsedAsHTMLWarning when parsing FMI API responses - Add example.py demonstrating basic observations usage Parsing FMI WFS responses no longer emits XMLParsedAsHTMLWarning during tests and normal use. example.py shows how to fetch observations for a place.
- Reformat fmi.py and observation.py with ruff style rules - Update test modules to match double-quote convention No behavior changes; this commit normalizes quote style and line wrapping for consistency with ruff formatting.
- Guard against missing wml2:time and wml2:value elements in parser - Continue to next point instead of raising AttributeError Response parsing is more resilient when the FMI API returns incomplete measurement points in a timeseries.
- Switch pyproject.toml to setuptools-scm dynamic versioning - Fetch full git history in the PyPI publish workflow - Drop pinned local version from uv.lock Release versions now come from git tags automatically, so pyproject.toml no longer needs manual version bumps before each release.
- Swap flake8 for ruff in dev dependencies and uv.lock - Add Ruff lint and format config to pyproject.toml - Run ruff check and ruff format --check in CI - Apply Ruff fixes: imports, f-strings, and style cleanups CI and local dev now use a single Ruff toolchain for linting and formatting instead of flake8, with broader rule coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Local development and CI now use uv for dependency management and package builds. PyPI publishing uses
uv buildanduv publish.